package com.yamaikeji.system.service.impl.plan;

import com.yamaikeji.common.utils.DateUtils;
import com.yamaikeji.system.domain.plan.PlanTask;
import com.yamaikeji.system.mapper.plan.PlanTaskMapper;
import com.yamaikeji.system.service.plan.IPlanTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 子任务Service业务层处理
 * 
 * @author yamaikeji
 * @date 2024-12-27
 */
@Service
public class PlanTaskServiceImpl implements IPlanTaskService {

    @Autowired
    private PlanTaskMapper planTaskMapper;

    /**
     * 查询子任务列表
     * 
     * @param planTask 子任务
     * @return 子任务
     */
    @Override
    public List<PlanTask> selectPlanTaskList(PlanTask planTask) {
        return planTaskMapper.selectPlanTaskList(planTask);
    }

    /**
     * 查询子任务
     *
     * @param planTask 子任务
     * @return 子任务
     */
    @Override
    public PlanTask selectPlanTask(PlanTask planTask) {
        return planTaskMapper.selectPlanTask(planTask);
    }

    /**
     * 新增子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    @Override
    public int insertPlanTask(PlanTask planTask) {
        planTask.setCreateTime(DateUtils.getNowDate());
        return planTaskMapper.insertPlanTask(planTask);
    }

    /**
     * 批量新增子任务
     *
     * @param planTasks 子任务列表
     * @return 结果
     */
    @Override
    public int batchInsertPlanTask(List<PlanTask> planTasks) {
        return planTaskMapper.batchInsertPlanTask(planTasks);
    }

    /**
     * 修改子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    @Override
    public int updatePlanTask(PlanTask planTask) {
        planTask.setUpdateTime(DateUtils.getNowDate());
        return planTaskMapper.updatePlanTask(planTask);
    }

    /**
     * 批量修改子任务
     *
     * @param param
     * @return
     */
    @Override
    public int batchUpdatePlanTask(Map<String, Object> param) {
        return planTaskMapper.batchUpdatePlanTask(param);
    }

    /**
     * 删除子任务
     * 
     * @param planTask 子任务
     * @return 结果
     */
    public int deletePlanTask(PlanTask planTask) {
        return planTaskMapper.deletePlanTask(planTask);
    }

    /**
     * 批量删除子任务
     *
     * @param param
     * @return
     */
    @Override
    public int batchDeletePlanTask(Map<String, Object> param) {
        return planTaskMapper.batchDeletePlanTask(param);
    }
}
